Applications running on an operating system may execute inside a strict sandbox where the applications have access to only a limited subset of application programmer interfaces (APIs). For example, the Windows 8™ operating system, by Microsoft, Inc., includes “Metro Apps” that need to be written using a specified subset of APIs. The Metro Apps are meant to be smaller in scope and run faster than traditional desktop applications. These characteristics are partly achieved because of the Metro Apps limited access to APIs as compared to the traditional desktop applications (e.g., word processing applications), which have access to a larger set of APIs.
The strict sandbox may impose restrictions on the Metro Apps for inter-process communication (IPC) mechanisms that are used to communicate with other processes running on the operating system. For example, the strict sandbox restricts all inter-process communications for a Metro App by not allowing access to APIs for inter-process communication. The strict sandbox restricts inter-process communications so that a Metro App does not adversely affect other applications running on the operating system. For example, inter-process communication is used is to exchange data between processes, such as a word processing application may want a spreadsheet application to open a file and send data from the file to the word processing application. If inter-process communication is allowed, the word processing application may communicate with the spreadsheet application running in another process to have a file opened and then have data returned to the word processing application. However, opening the file and returning the data may slow other commands being performed by the operating system. Thus, Metro Apps restrict inter-process communication to provide a user experience that runs faster. Also, the operating system may use the strict sandbox for security reasons. For example, not allowing inter-process communications protects other processes from Metro Apps that may not be trustworthy.